<?php
defined('ANT_ACCESS') or die('Access denided');
/**
 * Ant Framework
 *
 * An open source application development framework for PHP 5
 *
 * @package		Ant Framework
 * @author		Meshin Dmitriy
 * @copyright	Copyright (c) 2008, Meshin Dmitriy
 * @license		GNU Public Lisence v2
 * @link		http://code.google.com/p/ant-framework
 * @desc		View Class
 **/
	class ANT_view{
		protected $view_path;
		protected $views = array();
		protected $configs;

		function __construct(){
			$this->configs =& get_config('configs');
			$this->view_path = get_folder('views').$this->configs['default_theme'];
		}

		/*
		*	установка папки отображения
		*	для поддержки тем
		*/
		public function set_view_path($path){
			$this->view_path = get_folder('views').$path;
		}

		/*
		*	включение нового шаблона
		*/
		public function load($view_name, $params = array()){
			$this->views[$view_name] = $params;
		}

		/*
		*	Функция для включения шаблона из другого шаблона
		*/
		protected function template($name, &$params = array()){
			try{
				extract($params, EXTR_OVERWRITE);
			}
			catch(Exception $e){
				trigger_error('View: $params for template '.$name.' is not array', E_USER_ERROR);
			}			require($this->view_path.$name.$this->configs['template_suffix'].EXT);
		}

		/*
		 *	обработка шаблонов вызванных из контроллера
		 */
		public function render(){			//	вывод шаблонов
			foreach($this->views as $name => $params){
				$this->template($name, $params);
			}
		}
	}
?>